package com.ruoyi.develop.lvBuy.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.develop.goodsSalebuyall.domain.GoodsSalebuyall;
import com.ruoyi.develop.orderIronRecord.domain.OrderIronRecord;
import com.ruoyi.develop.orderIronRecordBuy.domain.OrderIronRecordBuy;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购单对象 lv_buy
 *
 * @author qh
 * @date 2024-08-09
 */
public class LvBuy extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 合同编码
     */
    @Excel(name = "合同编码")
    private String code;

    /**
     * 合同名称
     */
    @Excel(name = "合同名称")
    private String name;

    /**
     * 合同id
     */
    @Excel(name = "合同id")
    private String mainId;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String nos;

    /**
     * 订单日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date ddDate;

    /**
     * 需求日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "需求日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date subDate;

    /**
     * 采购类型
     */
    @Excel(name = "采购类型")
    private String type;

    /**
     * 业务类型
     */
    @Excel(name = "业务类型")
    private String ywType;

    /**
     * 税率
     */
    @Excel(name = "税率")
    private String tax;

    /**
     * 客户id
     */
    @Excel(name = "客户id")
    private String customerId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 是否打款
     */
    @Excel(name = "是否打款")
    private String isBuy;

    /**
     * 订单金额
     */
    @Excel(name = "订单金额")
    private BigDecimal money;

    /**
     * 定金
     */
    @Excel(name = "定金")
    private BigDecimal dingjin;

    /**
     * 是否有定金
     */
    @Excel(name = "是否有定金")
    private String isDeposit;


    /** 运费是否跟货款合并  */
    @Excel(name = "运费是否跟货款合并")
    private String depositMerge;


    /**
     * 运费
     */
    @Excel(name = "运费")
    private BigDecimal shippingFee;


    /**
     * 是否有运费
     */
    @Excel(name = "是否有运费")
    private String isShippingFee;

    /**
     * 运费状态
     */
    @Excel(name = "运费状态")
    private String shippingStatus;


    /** * 运费已支付金额 */
    @Excel(name = "运费已支付金额")
    private BigDecimal shippingFeePaid;


    /** * 运费剩余 */
    @Excel(name = "运费剩余")
    private BigDecimal shippingFeeRemain;



    /**
     * 材料尾款
     */
    @Excel(name = "尾款")
    private BigDecimal arrears;

    /**
     * 剩余欠款
     */
    @Excel(name = "剩余欠款")
    private BigDecimal shengyu;

    /**
     * 税额
     */
    @Excel(name = "税额")
    private BigDecimal shuie;

    /**
     * 总数量
     */
    @Excel(name = "总数量")
    private BigDecimal counts;

    /**
     * 总吨位
     */
    @Excel(name = "总吨位")
    private BigDecimal dunwei;

    /**
     * 供应商id
     */
    @Excel(name = "供应商id")
    private String supplierId;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    private String supplierName;

    /**
     * 部门ID
     */
    @Excel(name = "部门ID")
    private String deptId;

    /**
     * 部门名称
     */
    @Excel(name = "部门名称")
    private String deptName;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private String userId;

    /**
     * 业务员
     */
    @Excel(name = "业务员")
    private String userName;

    /**
     * 审核状态
     */
    @Excel(name = "审核状态")
    private String state;


    private String fpfile;
    /**
     * 行号
     */
    private String bankNo;
    /**
     * 账号
     */
    private String accountNo;
    /**
     * 开户行
     */
    private String bankName;
    private BigDecimal yunfei;
    private BigDecimal fukuan;
    private BigDecimal kaipiao;
    private BigDecimal shengyukp;

    /**
     * 产品类型
     */
    private String goodsType;

    /**
     * 付款申请 状态
     */
    private String payApplyState;


    /** * 到货状态 */
    private String arrivalStatus;
    /** * 退货状态 */
    private String returnStatus;
    private String fpState;

    /** * 申请付款金额 */
    private BigDecimal payApplyTotalMoney;
    /** * 申请付款剩余金额 */
    private BigDecimal payApplyRemainMoney;
    /**
     * 实际到货金额
     */
    private BigDecimal actualArrivalTotalMoney;


    /** * 铁件拆解id */
    private String ironRecordId;

    /** * 本次申请金额 */
    private BigDecimal applyMoneyTemp;

    /** * 采购来源 */
    private String source;

    /** * 申请购买人 */
    private String buyer;
    private String lvBuycreateUsername;

    private String lvDoId;

    private String files;

    /** * 交易类别 */
    private String transactionType;


    /** * 合同文件 */
    private String contractFile;

    public String getContractFile() {
        return contractFile;
    }

    public void setContractFile(String contractFile) {
        this.contractFile = contractFile;
    }

    public String getTransactionType() {
        return transactionType;
    }

    public void setTransactionType(String transactionType) {
        this.transactionType = transactionType;
    }

    public String getFiles() {
        return files;
    }

    public void setFiles(String files) {
        this.files = files;
    }

    public String getLvDoId() {
        return lvDoId;
    }

    public void setLvDoId(String lvDoId) {
        this.lvDoId = lvDoId;
    }

    public String getLvBuycreateUsername() {
        return lvBuycreateUsername;
    }

    public void setLvBuycreateUsername(String lvBuycreateUsername) {
        this.lvBuycreateUsername = lvBuycreateUsername;
    }

    public String getBuyer() {
        return buyer;
    }

    public void setBuyer(String buyer) {
        this.buyer = buyer;
    }

    /** * 拆解记录列表 */
    List<OrderIronRecordBuy> ironRecordBuyList;
    /** * 采购明细 */
    List<GoodsSalebuyall> goodsSalebuyallList;

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public List<GoodsSalebuyall> getGoodsSalebuyallList() {
        return goodsSalebuyallList;
    }

    public void setGoodsSalebuyallList(List<GoodsSalebuyall> goodsSalebuyallList) {
        this.goodsSalebuyallList = goodsSalebuyallList;
    }

    public List<OrderIronRecordBuy> getIronRecordBuyList() {
        return ironRecordBuyList;
    }

    public BigDecimal getApplyMoneyTemp() {
        return applyMoneyTemp;
    }

    public void setApplyMoneyTemp(BigDecimal applyMoneyTemp) {
        this.applyMoneyTemp = applyMoneyTemp;
    }

    public void setIronRecordBuyList(List<OrderIronRecordBuy> ironRecordBuyList) {
        this.ironRecordBuyList = ironRecordBuyList;
    }

    public String getIronRecordId() {
        return ironRecordId;
    }

    public String getReturnStatus() {
        return returnStatus;
    }

    public void setReturnStatus(String returnStatus) {
        this.returnStatus = returnStatus;
    }

    public void setIronRecordId(String ironRecordId) {
        this.ironRecordId = ironRecordId;
    }

    public BigDecimal getPayApplyTotalMoney() {
        return payApplyTotalMoney;
    }

    public void setPayApplyTotalMoney(BigDecimal payApplyTotalMoney) {
        this.payApplyTotalMoney = payApplyTotalMoney;
    }

    public BigDecimal getPayApplyRemainMoney() {
        return payApplyRemainMoney;
    }

    public void setPayApplyRemainMoney(BigDecimal payApplyRemainMoney) {
        this.payApplyRemainMoney = payApplyRemainMoney;
    }

    public BigDecimal getActualArrivalTotalMoney() {
        return actualArrivalTotalMoney;
    }

    public void setActualArrivalTotalMoney(BigDecimal actualArrivalTotalMoney) {
        this.actualArrivalTotalMoney = actualArrivalTotalMoney;
    }

    public String getFpState() {
        return fpState;
    }

    public void setFpState(String fpState) {
        this.fpState = fpState;
    }

    public String getArrivalStatus() {
        return arrivalStatus;
    }

    public void setArrivalStatus(String arrivalStatus) {
        this.arrivalStatus = arrivalStatus;
    }

    public String getPayApplyState() {
        return payApplyState;
    }

    public void setPayApplyState(String payApplyState) {
        this.payApplyState = payApplyState;
    }

    public String getFpfile() {
        return fpfile;
    }

    public void setFpfile(String fpfile) {
        this.fpfile = fpfile;
    }

    public String getBankNo() {
        return bankNo;
    }

    public void setBankNo(String bankNo) {
        this.bankNo = bankNo;
    }

    public String getAccountNo() {
        return accountNo;
    }

    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public BigDecimal getYunfei() {
        return yunfei;
    }

    public void setYunfei(BigDecimal yunfei) {
        this.yunfei = yunfei;
    }

    public BigDecimal getFukuan() {
        return fukuan;
    }

    public void setFukuan(BigDecimal fukuan) {
        this.fukuan = fukuan;
    }

    public BigDecimal getKaipiao() {
        return kaipiao;
    }

    public void setKaipiao(BigDecimal kaipiao) {
        this.kaipiao = kaipiao;
    }

    public BigDecimal getShengyukp() {
        return shengyukp;
    }

    public void setShengyukp(BigDecimal shengyukp) {
        this.shengyukp = shengyukp;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setMainId(String mainId) {
        this.mainId = mainId;
    }

    public String getMainId() {
        return mainId;
    }

    public void setNos(String nos) {
        this.nos = nos;
    }

    public String getNos() {
        return nos;
    }

    public void setDdDate(Date ddDate) {
        this.ddDate = ddDate;
    }

    public Date getDdDate() {
        return ddDate;
    }

    public void setSubDate(Date subDate) {
        this.subDate = subDate;
    }

    public Date getSubDate() {
        return subDate;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setYwType(String ywType) {
        this.ywType = ywType;
    }

    public String getYwType() {
        return ywType;
    }

    public void setTax(String tax) {
        this.tax = tax;
    }

    public String getTax() {
        return tax;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setIsBuy(String isBuy) {
        this.isBuy = isBuy;
    }

    public String getIsBuy() {
        return isBuy;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setDingjin(BigDecimal dingjin) {
        this.dingjin = dingjin;
    }

    public BigDecimal getDingjin() {
        return dingjin;
    }

    public void setShengyu(BigDecimal shengyu) {
        this.shengyu = shengyu;
    }

    public BigDecimal getShengyu() {
        return shengyu;
    }

    public void setShuie(BigDecimal shuie) {
        this.shuie = shuie;
    }

    public BigDecimal getShuie() {
        return shuie;
    }

    public void setCounts(BigDecimal counts) {
        this.counts = counts;
    }

    public BigDecimal getCounts() {
        return counts;
    }

    public void setDunwei(BigDecimal dunwei) {
        this.dunwei = dunwei;
    }

    public BigDecimal getDunwei() {
        return dunwei;
    }

    public void setSupplierId(String supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierId() {
        return supplierId;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserName() {
        return userName;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getState() {
        return state;
    }

    public BigDecimal getArrears() {
        return arrears;
    }

    public void setArrears(BigDecimal arrears) {
        this.arrears = arrears;
    }

    public String getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(String goodsType) {
        this.goodsType = goodsType;
    }

    public String getIsDeposit() {
        return isDeposit;
    }

    public void setIsDeposit(String isDeposit) {
        this.isDeposit = isDeposit;
    }

    public BigDecimal getShippingFee() {
        return shippingFee;
    }

    public void setShippingFee(BigDecimal shippingFee) {
        this.shippingFee = shippingFee;
    }

    public String getIsShippingFee() {
        return isShippingFee;
    }

    public void setIsShippingFee(String isShippingFee) {
        this.isShippingFee = isShippingFee;
    }

    public String getShippingStatus() {
        return shippingStatus;
    }

    public void setShippingStatus(String shippingStatus) {
        this.shippingStatus = shippingStatus;
    }

    public BigDecimal getShippingFeePaid() {
        return shippingFeePaid;
    }

    public void setShippingFeePaid(BigDecimal shippingFeePaid) {
        this.shippingFeePaid = shippingFeePaid;
    }

    public BigDecimal getShippingFeeRemain() {
        return shippingFeeRemain;
    }

    public void setShippingFeeRemain(BigDecimal shippingFeeRemain) {
        this.shippingFeeRemain = shippingFeeRemain;
    }

    public String getDepositMerge() {
        return depositMerge;
    }

    public void setDepositMerge(String depositMerge) {
        this.depositMerge = depositMerge;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("code", getCode())
                .append("name", getName())
                .append("mainId", getMainId())
                .append("nos", getNos())
                .append("ddDate", getDdDate())
                .append("subDate", getSubDate())
                .append("type", getType())
                .append("ywType", getYwType())
                .append("tax", getTax())
                .append("customerId", getCustomerId())
                .append("customerName", getCustomerName())
                .append("isBuy", getIsBuy())
                .append("money", getMoney())
                .append("dingjin", getDingjin())
                .append("shengyu", getShengyu())
                .append("shuie", getShuie())
                .append("counts", getCounts())
                .append("dunwei", getDunwei())
                .append("supplierId", getSupplierId())
                .append("supplierName", getSupplierName())
                .append("deptId", getDeptId())
                .append("deptName", getDeptName())
                .append("userId", getUserId())
                .append("userName", getUserName())
                .append("state", getState())
                .toString();
    }
}
